package com.example.ecas.persistence;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.example.ecas.pojo.Case;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Repository;

import java.util.List;

@Repository
@Mapper
public interface CaseMapper extends BaseMapper<Case> {

    // 获取指定id的病历信息 (注意,病历中的患者信息在另一个表(patient)中
    default Case getCase(int id) {
        return this.selectById(id);
    }

    // 获取所有病历
    default List<Case> getAllCases() {
        return this.selectList(null);
    }

    // 获取单个患者的所有病历
    default List<Case> getPatientCases(int patId) {
        QueryWrapper<Case> queryWrapper = new QueryWrapper<>();
        queryWrapper.eq("pat_id", patId);
        return this.selectList(queryWrapper);
    }

    // 新增一个病历
    default int addCase(Case _case) {
        if (_case == null) {
            return 0;
        }
        return this.insert(_case);
    }

    // 修改病历
    default int updateCase(Case _case) {
        if (_case != null) {
            return this.updateById(_case);
        }
        return 0;
    }

    // 删除一个病历
    default int deleteCase(int id) {
        return this.deleteById(id);
    }



}
